package com.priox.sigar.domain.model;

import com.googlecode.genericdao.dao.jpa.GenericDAO;
import com.priox.sigar.client.dto.AcreedorDTO;
import com.priox.sigar.client.dto.AcreedorSociedadDTO;
import com.priox.sigar.client.dto.SociedadDTO;
import com.priox.sigar.client.flt.AcreedorFlt;

import java.util.List;

/**
 * User: aglwkrs
 * Date: 30/11/11
 */
public interface AcreedorRepository extends GenericDAO<Acreedor, String> {

    public List<Acreedor> findByIds(List<String> ids);

    List<Acreedor> findByNameList(String name);

    List<AcreedorDTO> findByFilter(AcreedorFlt filter);

    public List<AcreedorSociedadDTO> obtenerAcreedorSociedadList(String acreedorId);

    void saveCadena(Acreedor cadena);

    Acreedor findBy(String code);

    List<Acreedor> findByRUC(String ruc);

    void executeSP();

    void saveAcreedorSociedad(Long acreedorId,List<SociedadDTO> sociedades);

    void delete(Long id);

    void persisSociedades(List<AcreedorSociedad> acreedorSociedadList);
}
